#ifndef TCBLOBTRACKTOSTRINGCONVERTER_H
#define TCBLOBTRACKTOSTRINGCONVERTER_H

#include <plvcore/PipelineProcessor.h>
#include <plvcore/CvMatDataPin.h>
#include "BlobTrack.h"

namespace plvblobtracker
{

class TCBlobTrackToStringConverter : public plv::PipelineProcessor
{
    Q_OBJECT
    Q_DISABLE_COPY( TCBlobTrackToStringConverter )

    Q_CLASSINFO("author", "Mark Oude Veldhuis")
    Q_CLASSINFO("name", "TC Blob Track to String Converter")
    Q_CLASSINFO("description", "A processor that converts a blob track list to a ThingyCloud compatible string.")

public:
    TCBlobTrackToStringConverter();
    virtual ~TCBlobTrackToStringConverter();

    /** required standard method declaration for plv::PipelineProcessor */
    PLV_PIPELINE_PROCESSOR

private:
    plv::InputPin< QList<plvblobtracker::BlobTrack> >* m_inputTracks;
    plv::OutputPin<QString>* m_outputPin;
};

}

#endif // TCBLOBTRACKTOSTRINGCONVERTER_H
